The scale of computing infrastructure has experienced explosive growth at least partially due to multiple applications being supported on network fabric. For instance, data centers support multiple applications on the same infrastructure. Similarly, in an enterprise setting, multiple services like VoIP and traditional best-effort traffic may co-exist concurrently on a single network. In most instances, existing networks are designed for best-effort traffic, and they are unable to meet strict and sometimes orthogonal quality-of-service (QoS) requirements, such as high bandwidth and low latency for certain applications. The networks are over provisioned or there is no mechanism to shield applications from each other.
Two of the most commonly adopted techniques to sustain QoS are network isolation and network over-provisioning. Data center networks, for instance, have isolated networks with specialized hardware and communication protocols for each class of traffic. In some cases, networks are over-provisioned by a large factor of 2.5× to 8× to avoid QoS violations. Both solutions can lead to heavy under-utilization and are not cost effective.